<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<!-- 1.内存溢出
		  一种程序运行出现的错误
		  当程序运行需要的内存超过了剩余的内存时，就会抛出内存溢出的错误
		2.内存泄漏
		  占用的内存没有及时释放
		  内存泄漏积累多了就容易导致内存溢出
		  常见的内存泄漏：
		    意外的全局变量
			没有及时清理的计算器或回调函数
			闭包 -->
			
		<script type="text/javascript">
			// 1.内存溢出
			var obj = {}
			for(var i=0;i<10000;i++){
				obj[i]=new Array(10000000)
				console.log('-----')
			}
			
			// 2.内存泄漏
			  // 意外的全局变量
			function fn() {
				a = new Array(1000000)
				console.log(a)
			}
			fn()
			
			  // 没有及时清理的计算器或回调函数
			var intervalId = setInterval(function () { //启动循环定时器后不清理
				console.log('----')
			}, 1000)
			
			// clearInterval(intervalId)
			
			  // 闭包
			function fn1() {
				var a = 4
				function fn2() {
					console.log(++a)
				}
				return fn2
			}
			var f = fn1()
			f()
			
			// f = null
		</script>
	</body>
</html>
